-
-
Couldn't load subscription status.
- Fork 125
ITP-2025-LONDON|LOVETH-OKAFOR|Module-Data-Flows|Book-library #177
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
-
There are a few improvements you can make.
-
When I checked the code in
index.htmlat https://validator.w3.org/, it indicated some errors.
debugging/book-library/script.js
Outdated
| if (title.value === "" || pages.value === "") { | ||
| alert("Please fill in all fields!"); | ||
| return false; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In terms of input validation,
- Are all input properly checked?
- What if a user enters only space characters in the "title" input field?
- What if a users enters
-1or3.1416in the "pages" input field?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thank you very much for your obsarvation, i have implemented the needed function
debugging/book-library/script.js
Outdated
| for (let n = rowsNumber - 1; n > 0; n--) { | ||
| table.deleteRow(n); | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of deleting the table rows one by one, can you think of a more efficient way to remove all rows (except the <th>...</th>) in the table?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i have fix the error
debugging/book-library/script.js
Outdated
| titleCell.innerHTML = book.title; | ||
| authorCell.innerHTML = book.author; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With the way the book's title is assigned to an HTML element, a book with a title containing special character sequence such as <i> can possibly ruin the display.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you think of a more consistent way to name the variables representing the two buttons, changeBut and delButton?
debugging/book-library/script.js
Outdated
| alert(`You've deleted title: ${book.title}`); | ||
| myLibrary.splice(i, 1); | ||
| render(); | ||
| saveToLocalStorage(); // Save updated library to localStorage | ||
| render(); // Re-render the table |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At the moment when the alert message is displayed, has the book mentioned in the message been deleted yet?
How would you rearrange these statements to make the message truthful?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@cjyuan i really appreciate your time and effort, and most espacially the details you pay for everthing!! thanks again for the time.
Learners, PR Template
Self checklist
Changelist
Briefly explain your PR.
Questions
Ask any questions you have for your reviewer.